<div class="input-group">
  <input
    [id]="inputId" [autocomplete]="autocomplete" [value]="value" [placeholder]="placeholder" [tabindex]="tabindex"
    [(ngModel)]="value" (ngModelChange)="update()" [readonly]="readonly"
    #input (click)="input.select()" (input)="update()" (change)="update()" [type]="inputType" class="form-control"
    [ngClass]="{ 'input-error': formError }"
  />

  <button *ngIf="withToggle" (click)="toggle()" type="button" class="btn btn-outline-secondary" [title]="toggleTitle">
    <my-global-icon *ngIf="show" iconName="eye-open"></my-global-icon>
    <my-global-icon *ngIf="!show" iconName="eye-close"></my-global-icon>
  </button>

  <my-copy-button
    *ngIf="withCopy" [value]="input.value" i18n-notification notification="Copied"
    [isInputGroup]="true" i18n
  >
    COPY
  </my-copy-button>
</div>

<div *ngIf="formError" class="form-error" role="alert">{{ formError }}</div>
